/*
 * Copyright (c)  2015~2020, xforceplus
 * All rights reserved.
 * Project:datacare-orm
 * Id: StringQuery.java   2020-10-07 20-19-40
 * Author: Evan
 */
package cn.datacare.orm.query;

/**
 * <p>
 * Title:
 * </p>
 * <p>
 * Description:
 * </p>
 * <p>
 * Copyright: 2015~2020
 * </p>
 * <p>
 * Company/Department: xforceplus
 * </p>
 *
 * @author Evan
 * <b>Creation Time:</b> 2020-10-07 20-19-40
 * @since V1.0
 */
public interface StringQuery <T extends StringQuery>{

    /***
     *  Having子名
     * @param condition
     * @return T
     */
    T having(QueryCondition<T> condition);



    /***
     * groupBy 子句
     * @param column
     * @return
     */
    T groupBy(String column);


    /***
     * orderBy 子句
     * 例如 orderBy id desc,user_id asc
     * @param orderBy
     * @return
     */
    T orderBy(String orderBy);

    /***
     * 排序-Asc
     * @param column
     * @return
     */
    T asc(String column);

    /**
     * 排序降序-Desc
     * @param column
     * @return
     */
    T desc(String column);

    /***
     * limit 子句
     * @param startRow 开始行数（包含）
     * @param pageSize
     * @return
     */
    T limit(long startRow, long pageSize);
}
